package model;

import java.util.UUID;

/**
 * This class models the solution of a specific Business Case.
 * It contains all the information regarding the conclusion: Description, assumptions made and what was out of the scope when the 
 * solution was chosen. 
 * @author D058585
 *
 */
public class Solution 
{
	private UUID ID;
	private String name;
	private String description;
	private String assumptions;
	private String outOfScope;
	
	
	public Solution()
	{
		ID = UUID.randomUUID();
	}
	
	public Solution(UUID ID)
	{
		this.ID = ID;
	}
	
	/**
	 * Returns the name of the solution
	 * @return Solution's name
	 */
	public String getName() {
		return name;
	}
	
	/**
	 * Sets the solution's name
	 * @param name Solution's name
	 */
	public void setName(String name) {
		this.name = name;
	}
	
	/**
	 * Returns the description of the solution
	 * @return Solution's description
	 */
	public String getDescription() {
		return description;
	}
	
	/**
	 * Sets the solution's description
	 * @param description Solution's description
	 */
	public void setDescription(String description) {
		this.description = description;
	}
	
	/**
	 * Returns the assumptions made for the solution
	 * @return Solution's assumptions
	 */
	public String getAssumptions() {
		return assumptions;
	}
	
	/**
	 * Sets the solution's assumptions
	 * @param description Solution's description
	 */
	public void setAssumptions(String assumptions) {
		this.assumptions = assumptions;
	}
	
	/**
	 * Returns a textual description of which things are out of the solution's scope
	 * @return Things that are out of the solution's scope
	 */
	public String getOutOfScope() {
		return outOfScope;
	}
	
	/**
	 * Sets the things which are out of the Solution's scope
	 * @param outOfScope Things that are out of the solution's scope
	 */
	public void setOutOfScope(String outOfScope) {
		this.outOfScope = outOfScope;
	}

	/**
	 * Returns the ID of the solution
	 * @return Solution's ID
	 */
	public UUID getID() {
		return ID;
	}

}
